package com.aaa.service.impl;

import com.aaa.entity.Staff;
import com.aaa.mapper.StaffMapper;
import com.aaa.service.StaffService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@Service("staffService")
public class StaffServiceImpl implements StaffService {

    @Resource
    private StaffMapper staffMapper;

    @Override
    public Staff login(String sname) {
        return staffMapper.login(sname);
    }

    @Override
    public PageInfo<Staff> query(String phone, Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<Staff> list=staffMapper.query(phone);
        PageInfo<Staff> pageInfo=new PageInfo<>(list);
        return pageInfo;
    }

    @Override
    public List<Map<String, Object>> findAll(Integer id, String sname,String phone, String idcard) {
        return staffMapper.findAll(id,sname,phone,idcard);
    }

    /**
     * 处理入职员工信息
     * @param sname 姓名
     * @param phone 手机号
     * @param idcard 身份证号
     * @param sex 性别
     * @param pswd 密码
     * @param state 状态
     * @return 数据处理结果
     */
    @Override
    public Integer addStaff(String sname, String phone, String idcard, String sex, String pswd, String state) {
        Integer substring =Integer.parseInt( idcard.substring(16, 17));
        if (substring%2==0){
            sex="女";
        }else{
            sex="男";
        }
        return staffMapper.addStaff(sname,phone,idcard,sex,"123456","正常");
    }

    /**
     * 返回数据处理
     * @param id
     * @param pswd 密码对象
     * @return
     */
    @Override
    public Integer updStaffPswd(Integer id, String pswd) {
        if (id>0&&id!=null){
            pswd="123456";
            return staffMapper.updStaffPswd(id,pswd);
        }else {
            System.out.println("重置失败"+id);
            return null;
        }
    }

    /**
     * 请求修改员工数据
     * @param id 唯一 根据id发送请求修改
     * @param sname 员工名
     * @param phone 手机号
     * @param idcard 身份证号
     * @param sex 性别 根据身份证号得出
     * @return 数据处理结果
     */
    @Override
    public Integer uodateStaff1(Integer id, String sname, String phone, String idcard, String sex) {
        Integer substring =Integer.parseInt( idcard.substring(16, 17));
        if (substring%2==0){
            sex="女";
        }else{
            sex="男";
        }
        return staffMapper.uodateStaff1(id,sname,phone,idcard,sex);
    }

    /**
     *
     * @param id 根据主键返回
     * @param state 状态
     * @return
     */
    @Override
    public Integer updateState(Integer id, String state) {
        return staffMapper.updateState(id,state);
    }


    /**
     *
     * @param id 根据主键id
     * @return
     */
    @Override
    public Staff findById(Integer id) {
        return staffMapper.findById(id);
    }

    /**
     * 数据处理
     * @param sname 根据用户名唯一
     * @param pswd 修改的对象
     * @return 返回结果
     */
    @Override
    public Integer edit(String sname, String pswd) {
        return staffMapper.edit(sname,pswd);
    }


}
